/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package sistema.ecua911.datos.BDs;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import sistema.ecua911.negocio.Bomberos;
import sistema.ecua911.negocio.CruzRoja;
import sistema.ecua911.negocio.Direccion;
import sistema.ecua911.negocio.Entidad;
import sistema.ecua911.negocio.Policia;
import sistema.ecua911.negocio.TipoEntidad;
import sistema.ecua911.negocio.Usuario;

/**
 *
 * @author pablo
 */
public class InstitucionDB {
     public boolean grabar(Entidad u) throws SQLException {
        OperacionesBase db = new OperacionesBase();
        String query = "insert into institucion values(" + null + ",'" + u.getNombre() + "','" + u.getTelefono() + "','" + u.getEmail() + "','" + u.getCiudad() + "'," + 1 + ",'"+u.getTipoentidad().getDescripcion()+"')";
        Boolean resultado = db.ingreso(query);
        db.cerrarConexion();
        return resultado;
    }
   public ArrayList listar() throws SQLException {
        OperacionesBase db = new OperacionesBase();
        String query = "select * from institucion ";
        ResultSet resultado = db.seleccion(query);
        Entidad entidad = null;
        ArrayList todos = new ArrayList();
        while (resultado.next()) {
            entidad = new Entidad();
            entidad.setNombre(resultado.getString(2));
            entidad.setEmail(resultado.getString(4));
            entidad.setTelefono(resultado.getString(3));
            entidad.setCiudad(resultado.getString(5));
            entidad.setDirecion(new Direccion(Integer.parseInt(resultado.getString(6))));
            entidad.setTipoentidad(new TipoEntidad(resultado.getString(7)));
            
            todos.add(entidad);
        }
        db.cerrarConexion();
        return todos;
    } 
   public ArrayList getEntidad(String tipo) throws SQLException {
        OperacionesBase db = new OperacionesBase();
        String query = "select * from institucion where idtipoinstitucion = '"+tipo+"'";
        ResultSet resultado = db.seleccion(query);
        Entidad entidad = null;
        ArrayList todos = new ArrayList();
        while (resultado.next()) {
            if(tipo.equals("Policia")){
               entidad = new Policia(); 
            }else if(tipo.equals("Cruz Roja")){
               entidad = new CruzRoja(); 
            }else if(tipo.equals("Bomberos")){
                entidad = new Bomberos();
            }
            
            entidad.setNombre(resultado.getString(2));
            entidad.setEmail(resultado.getString(4));
            entidad.setTelefono(resultado.getString(3));
            entidad.setCiudad(resultado.getString(5));
            entidad.setDirecion(new Direccion(Integer.parseInt(resultado.getString(6))));
            entidad.setTipoentidad(new TipoEntidad(resultado.getString(7)));
            
            todos.add(entidad);
        }
        db.cerrarConexion();
        return todos;
    } 
}
